package com.hk.common.constant;

import java.util.HashMap;
import java.util.Map;

/**
 * 常量类
 *
 * @author zhangyu
 */
public class Constants {

    public static final Integer ZERO = 0;
    public static final Integer ONE = 1;

    public static final String MINUS_ONE_Str = "-1";
    public static final String ZERO_Str = "0";
    public static final String ONE_Str = "1";
    public static final String TWO_Str = "2";

    public static final int NOON_HOUR = 12;
    public static final String NOON_AM = "上午";
    public static final String NOON_PM = "下午";

    public static final String CLIENT_IP = "ClientIP";
    public static final String HEART_BEAT_MSG = "-1";

    public static final String SUCCESS_CODE = "100";
    public static final String SUCCESS_MSG = "请求成功";

    /**
     * session中存放用户信息的key值
     */
    public static final String SESSION_USER_INFO = "userInfo";
    public static final String SESSION_USER_PERMISSION = "userPermission";


    public static final String USER_PREFIX = "USER_";

    public static final String MENU_PREFIX = "MENU_";



    /* -------------------------------------------医保对账----------------------------------------------- */

    public static final String fixFillDept = "YBK";

    //对账状态(0-未对账；1 -对账成功；2 -对账失败)
    public static String STMT_STATUS_0 = "0";
    public static String STMT_STATUS_1 = "1";
    public static String STMT_STATUS_2 = "2";

    //状态(0-待上传；1-已上传；2-待确认（已查询）；3-待对账（已确认）；4-对账成功；5-对账失败；8-已申报；9-已结付)
    public static String STAS_0 = "0";
    public static String STAS_1 = "1";
    public static String STAS_2 = "2";
    public static String STAS_3 = "3";
    public static String STAS_4 = "4";
    public static String STAS_5 = "5";
    public static String STAS_8 = "8";
    public static String STAS_9 = "9";



    //对账地点类别
    public static String STMT_LOC_2 = "2";

    //上传批次
    public static String UPLD_BTCH_0 = "0";//首次
    public static String UPLD_BTCH_1 = "1";//非首次

    //对账结果(0-平;1-中心多;2-医药机构多;3-数据不一致)
    public static String STMT_FAIL_TYPE_0 = "0";
    public static String STMT_FAIL_TYPE_1 = "1";
    public static String STMT_FAIL_TYPE_2 = "2";
    public static String STMT_FAIL_TYPE_3 = "3";

    //对账结果(0-平;1-不平)
    public static String STMT_RSLT_0="0";
    public static String STMT_RSLT_1="1";

    //结算来源(00-本系统；01-光大方橙式)
    public static String SETL_DATA_SRC_00 = "00";
    public static String SETL_DATA_SRC_01 = "01";

    //处理状态(0-无需处理；1-待处理；2-已处理)
    public static String PROC_STAS_0="0";
    public static String PROC_STAS_1="1";
    public static String PROC_STAS_2="2";

    //处理方式(1-冲正；2-补机构数据；3-删除机构数据；4-修改机构数据；5-退费)
    public static String PROC_WAY_1="1";
    public static String PROC_WAY_2="2";
    public static String PROC_WAY_3="3";
    public static String PROC_WAY_4="4";
    public static String PROC_WAY_5="5";


    //费用类型(1-应支 2-扣款 3-预留 4-实支)
    public static String SETL_FEE_TYPE_1="1";
    public static String SETL_FEE_TYPE_2="2";
    public static String SETL_FEE_TYPE_3="3";
    public static String SETL_FEE_TYPE_4="4";

    //安全密钥申请
    public static String CHECK_STAS_1="1";//审核通过

    public static final String PSN_INSU_STAS_0 = "0";
    public static final String PSN_INSU_STAS_1 = "1";
    public static final String PSN_INSU_STAS_2 = "2";
    public static final String PSN_INSU_STAS_4 = "4";

    //医务人员类别
    public static final String MEDINS_PSN_TYPE_1 = "1"; //1-医生
    public static final String MEDINS_PSN_TYPE_2 = "2"; //2-护士
    public static final String MEDINS_PSN_TYPE_3 = "3"; //3-药师
    public static final String MEDINS_PSN_TYPE_4 = "4"; //4-医技人员

    // 结算类型(1-挂号；2-划价；3-电子处方;4-对账不平处理)
    public static String SETL_TYPE_1 = "1";
    public static String SETL_TYPE_2 = "2";
    public static String SETL_TYPE_3 = "3";
    public static String SETL_TYPE_4 = "4";

    //作废来源(1-发票补打、2-手工作废、3-自动作废)
    public static final String VOID_FROM_1 = "1";
    public static final String VOID_FROM_2 = "2";
    public static final String VOID_FROM_3 = "3";

    //发票类型(1-挂号处方；2-门诊发票)
    public static final String INVOICE_TYPE_1 = "1";
    public static final String INVOICE_TYPE_2 = "2";

    //作废原因
    public static final String VOID_REA_AUTO = "被前一笔交易占用";
    public static final String VOID_REA_REPRINT = "交易重打";

    // 【HISETL_D】 交易状态码（00：初始；10：成功；11：失败；20冲正成功；21冲正失败）
    public static final String INFCODE_00 = "00";
    public static final String INFCODE_10 = "10";
    public static final String INFCODE_11 = "11";
    public static final String INFCODE_20 = "20";
    public static final String INFCODE_21 = "21";

    //审核状态（0 待审核 1 无需审核 2 审核通过 3 审核不通过）
    public static final String CHK_STAS_0 = "0";
    public static final String CHK_STAS_1 = "1";
    public static final String CHK_STAS_2 = "2";
    public static final String CHK_STAS_3 = "3";
    public static final String CHK_STAS_Y = "审核通过";
    public static final String CHK_STAS_N = "审核不通过";

    //结算状态(0-待付款；1-已付款；2-已取消；3-已退费；9-取消失败)
    public static final String SETL_STAS_0 = "0";
    public static final String SETL_STAS_1 = "1";
    public static final String SETL_STAS_2 = "2";
    public static final String SETL_STAS_3 = "3";
    public static final String SETL_STAS_9 = "9";

    //结算类型 0-月结 1-日结 2-最终
    public static String STMT_TYPE_0="0";//月结
    public static String STMT_TYPE_1="1";//日结
    public static String STMT_TYPE_2="2";//最终

    //接口
    public static Map<String,String> INFONOMAP = new HashMap<String,String>();
    static {
        INFONOMAP.put("1101","人员基本信息获取");
        INFONOMAP.put("1201","医药机构信息获取");
        INFONOMAP.put("1301","西药中成药目录下载");
        INFONOMAP.put("1302","中药饮片目录下载");
        INFONOMAP.put("1303","医疗机构制剂目录下载");
        INFONOMAP.put("1304","民族药品目录下载");
        INFONOMAP.put("1305","医疗服务项目目录下载");
        INFONOMAP.put("1306","医用耗材目录下载");
        INFONOMAP.put("1307","疾病与诊断目录下载");
        INFONOMAP.put("1308","手术操作目录下载");
        INFONOMAP.put("1309","门诊慢特病种目录下载");
        INFONOMAP.put("1310","按病种付费病种目录下载");
        INFONOMAP.put("1311","日间手术治疗病种目录下载");
        INFONOMAP.put("1312","医保目录信息下载");
        INFONOMAP.put("1313","肿瘤形态学目录下载");
        INFONOMAP.put("1314","中医疾病目录下载");
        INFONOMAP.put("1315","中医证候目录下载");
        INFONOMAP.put("1316","医疗目录与医保目录匹配信息下载");
        INFONOMAP.put("1317","医药机构目录匹配信息下载");
        INFONOMAP.put("1318","医保目录限价信息下载");
        INFONOMAP.put("1319","医保目录先自付比例信息下载");
        INFONOMAP.put("1901","字典表下载");
        INFONOMAP.put("2001","人员待遇享受检查");
        INFONOMAP.put("2101","药店预结算");
        INFONOMAP.put("2101A","药店预结算A");
        INFONOMAP.put("2102","药店结算");
        INFONOMAP.put("2102A","药店结算A");
        INFONOMAP.put("2103","药店结算撤销");
        INFONOMAP.put("2201","门诊挂号");
        INFONOMAP.put("2202","门诊挂号撤销");
        INFONOMAP.put("2203","门诊就诊信息上传");
        INFONOMAP.put("2203A","门诊就诊信息上传A");
        INFONOMAP.put("2204","门诊费用明细信息上传");
        INFONOMAP.put("2205","门诊费用明细信息撤销");
        INFONOMAP.put("2206","门诊预结算");
        INFONOMAP.put("2207","门诊结算");
        INFONOMAP.put("2208","门诊结算撤销");
        INFONOMAP.put("2301","住院费用明细上传");
        INFONOMAP.put("2302","住院费用明细撤销");
        INFONOMAP.put("2303","住院预结算");
        INFONOMAP.put("2304","住院结算");
        INFONOMAP.put("2305","住院结算撤销");
        INFONOMAP.put("2401","入院办理");
        INFONOMAP.put("2402","出院办理");
        INFONOMAP.put("2403","入院信息变更");
        INFONOMAP.put("2404","入院撤销");
        INFONOMAP.put("2405","出院撤销");
        INFONOMAP.put("2501","转院备案");
        INFONOMAP.put("2501A","转院备案");
        INFONOMAP.put("2502","转院备案撤销");
        INFONOMAP.put("2503","人员慢特病备案");
        INFONOMAP.put("2504","人员慢特病备案撤销");
        INFONOMAP.put("2505","人员定点备案");
        INFONOMAP.put("2506","人员定点备案撤销");
        INFONOMAP.put("2601","冲正交易");
        INFONOMAP.put("3101","明细审核分析服务");
        INFONOMAP.put("3201","医药机构费用结算对总账");
        INFONOMAP.put("3202","医药机构费用结算对明细账");
        INFONOMAP.put("3260","对账权限查询");
        INFONOMAP.put("3261","月度对账状态查询");
        INFONOMAP.put("3262","月度结算信息上传");
        INFONOMAP.put("3263","月度结算信息查询");
        INFONOMAP.put("3264","月度结算信息删除");
        INFONOMAP.put("3265","月度结算信息上传确认");
        INFONOMAP.put("3266","月度结算信息对账");
        INFONOMAP.put("3267","月度对账信息查询");
        INFONOMAP.put("3268","日结算信息上传");
        INFONOMAP.put("3269","日结算信息查询");
        INFONOMAP.put("3270","日结算信息删除");
        INFONOMAP.put("3271","日结算信息上传确认");
        INFONOMAP.put("3272","日结算信息对账");
        INFONOMAP.put("3273","日对账信息查询");
        INFONOMAP.put("3274","结算信息明细对账");
        INFONOMAP.put("3275","结算费用申报");
        INFONOMAP.put("3276","结算费用撤销");
        INFONOMAP.put("3277","结付信息查询");
        INFONOMAP.put("3301","目录对照上传");
        INFONOMAP.put("3302","目录对照撤销");
        INFONOMAP.put("3401","科室信息上传");
        INFONOMAP.put("3401A","批量科室信息上传");
        INFONOMAP.put("3402","科室信息变更");
        INFONOMAP.put("3403","科室信息撤销");
        INFONOMAP.put("3501","商品盘存上传");
        INFONOMAP.put("3502","商品库存变更");
        INFONOMAP.put("3503","商品采购");
        INFONOMAP.put("3504","商品采购退货");
        INFONOMAP.put("3505","商品销售");
        INFONOMAP.put("3506","商品销售退货");
        INFONOMAP.put("3507","商品信息删除");
        INFONOMAP.put("4101","医疗保障基金结算清单信息上传");
        INFONOMAP.put("4201","自费病人费用明细信息上传");
        INFONOMAP.put("4301","门急诊诊疗记录");
        INFONOMAP.put("4302","急诊留观手术及抢救信息");
        INFONOMAP.put("4401","住院病案首页信息");
        INFONOMAP.put("4402","住院医嘱记录");
        INFONOMAP.put("4501","临床检查记录");
        INFONOMAP.put("4502","临床检验记录");
        INFONOMAP.put("4503","细菌培养报告记录");
        INFONOMAP.put("4504","药敏记录报告记录");
        INFONOMAP.put("4505","病理检查报告记录");
        INFONOMAP.put("4506","非结构化报告记录");
        INFONOMAP.put("4601","输血信息");
        INFONOMAP.put("4602","护理操作生命体征测量记录");
        INFONOMAP.put("4701","电子病历上传");
        INFONOMAP.put("5101","科室信息查询");
        INFONOMAP.put("5102","医执人员信息查询");
        INFONOMAP.put("5201","就诊信息查询");
        INFONOMAP.put("5202","诊断信息查询");
        INFONOMAP.put("5203","结算信息查询");
        INFONOMAP.put("5204","费用明细查询");
        INFONOMAP.put("5205","人员慢特病用药记录查询");
        INFONOMAP.put("5206","人员累计信息查询");
        INFONOMAP.put("5301","人员慢特病备案查询");
        INFONOMAP.put("5302","人员定点信息查询");
        INFONOMAP.put("5303","在院信息查询");
        INFONOMAP.put("5304","转院信息查询");
        INFONOMAP.put("5401","项目互认信息查询");
        INFONOMAP.put("5402","报告明细信息查询");
        INFONOMAP.put("6101","药店线上费用明细上传");
        INFONOMAP.put("6201","订单确认");
        INFONOMAP.put("6202","医保结算结果通知");
        INFONOMAP.put("7101","电子处方上传");
        INFONOMAP.put("7102","处方审核结果反馈");
        INFONOMAP.put("7103","处方购药结果反馈");
        INFONOMAP.put("7104","电子处方撤销");
        INFONOMAP.put("7201","处方二维码解析");
        INFONOMAP.put("7202","电子处方查询");
        INFONOMAP.put("7203","电子处方下载");
        INFONOMAP.put("7204","电子处方审核");
        INFONOMAP.put("7205","配送信息上传");
        INFONOMAP.put("9001","签到");
        INFONOMAP.put("9002","签退");
        INFONOMAP.put("9101","文件上传");
        INFONOMAP.put("9102","文件下载");
    }
}
